package com.quanyan.club.entity.db;

import com.quanyan.common.utils.Limit;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TbActivityExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected int limitStart = 0;

    protected int limitEnd = 0;

    protected Limit limit;

    public TbActivityExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimitStart(int limitStart) {
        this.limitStart=limitStart;
    }

    public int getLimitStart() {
        return limitStart;
    }

    public void setLimitEnd(int limitEnd) {
        this.limitEnd=limitEnd;
    }

    public int getLimitEnd() {
        return limitEnd;
    }

    public void setLimit(Limit limit) {
        this.limit=limit;
    }

    public Limit getLimit() {
        return limit;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andGroupIdIsNull() {
            addCriterion("group_id is null");
            return (Criteria) this;
        }

        public Criteria andGroupIdIsNotNull() {
            addCriterion("group_id is not null");
            return (Criteria) this;
        }

        public Criteria andGroupIdEqualTo(String value) {
            addCriterion("group_id =", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdNotEqualTo(String value) {
            addCriterion("group_id <>", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdGreaterThan(String value) {
            addCriterion("group_id >", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdGreaterThanOrEqualTo(String value) {
            addCriterion("group_id >=", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdLessThan(String value) {
            addCriterion("group_id <", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdLessThanOrEqualTo(String value) {
            addCriterion("group_id <=", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdLike(String value) {
            addCriterion("group_id like", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdNotLike(String value) {
            addCriterion("group_id not like", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdIn(List<String> values) {
            addCriterion("group_id in", values, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdNotIn(List<String> values) {
            addCriterion("group_id not in", values, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdBetween(String value1, String value2) {
            addCriterion("group_id between", value1, value2, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdNotBetween(String value1, String value2) {
            addCriterion("group_id not between", value1, value2, "groupId");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andExtendNameIsNull() {
            addCriterion("extend_name is null");
            return (Criteria) this;
        }

        public Criteria andExtendNameIsNotNull() {
            addCriterion("extend_name is not null");
            return (Criteria) this;
        }

        public Criteria andExtendNameEqualTo(String value) {
            addCriterion("extend_name =", value, "extendName");
            return (Criteria) this;
        }

        public Criteria andExtendNameNotEqualTo(String value) {
            addCriterion("extend_name <>", value, "extendName");
            return (Criteria) this;
        }

        public Criteria andExtendNameGreaterThan(String value) {
            addCriterion("extend_name >", value, "extendName");
            return (Criteria) this;
        }

        public Criteria andExtendNameGreaterThanOrEqualTo(String value) {
            addCriterion("extend_name >=", value, "extendName");
            return (Criteria) this;
        }

        public Criteria andExtendNameLessThan(String value) {
            addCriterion("extend_name <", value, "extendName");
            return (Criteria) this;
        }

        public Criteria andExtendNameLessThanOrEqualTo(String value) {
            addCriterion("extend_name <=", value, "extendName");
            return (Criteria) this;
        }

        public Criteria andExtendNameLike(String value) {
            addCriterion("extend_name like", value, "extendName");
            return (Criteria) this;
        }

        public Criteria andExtendNameNotLike(String value) {
            addCriterion("extend_name not like", value, "extendName");
            return (Criteria) this;
        }

        public Criteria andExtendNameIn(List<String> values) {
            addCriterion("extend_name in", values, "extendName");
            return (Criteria) this;
        }

        public Criteria andExtendNameNotIn(List<String> values) {
            addCriterion("extend_name not in", values, "extendName");
            return (Criteria) this;
        }

        public Criteria andExtendNameBetween(String value1, String value2) {
            addCriterion("extend_name between", value1, value2, "extendName");
            return (Criteria) this;
        }

        public Criteria andExtendNameNotBetween(String value1, String value2) {
            addCriterion("extend_name not between", value1, value2, "extendName");
            return (Criteria) this;
        }

        public Criteria andPriceIsNull() {
            addCriterion("price is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("price is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(BigDecimal value) {
            addCriterion("price =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(BigDecimal value) {
            addCriterion("price <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(BigDecimal value) {
            addCriterion("price >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("price >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(BigDecimal value) {
            addCriterion("price <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("price <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<BigDecimal> values) {
            addCriterion("price in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<BigDecimal> values) {
            addCriterion("price not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price not between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andRequireFieldIsNull() {
            addCriterion("require_field is null");
            return (Criteria) this;
        }

        public Criteria andRequireFieldIsNotNull() {
            addCriterion("require_field is not null");
            return (Criteria) this;
        }

        public Criteria andRequireFieldEqualTo(String value) {
            addCriterion("require_field =", value, "requireField");
            return (Criteria) this;
        }

        public Criteria andRequireFieldNotEqualTo(String value) {
            addCriterion("require_field <>", value, "requireField");
            return (Criteria) this;
        }

        public Criteria andRequireFieldGreaterThan(String value) {
            addCriterion("require_field >", value, "requireField");
            return (Criteria) this;
        }

        public Criteria andRequireFieldGreaterThanOrEqualTo(String value) {
            addCriterion("require_field >=", value, "requireField");
            return (Criteria) this;
        }

        public Criteria andRequireFieldLessThan(String value) {
            addCriterion("require_field <", value, "requireField");
            return (Criteria) this;
        }

        public Criteria andRequireFieldLessThanOrEqualTo(String value) {
            addCriterion("require_field <=", value, "requireField");
            return (Criteria) this;
        }

        public Criteria andRequireFieldLike(String value) {
            addCriterion("require_field like", value, "requireField");
            return (Criteria) this;
        }

        public Criteria andRequireFieldNotLike(String value) {
            addCriterion("require_field not like", value, "requireField");
            return (Criteria) this;
        }

        public Criteria andRequireFieldIn(List<String> values) {
            addCriterion("require_field in", values, "requireField");
            return (Criteria) this;
        }

        public Criteria andRequireFieldNotIn(List<String> values) {
            addCriterion("require_field not in", values, "requireField");
            return (Criteria) this;
        }

        public Criteria andRequireFieldBetween(String value1, String value2) {
            addCriterion("require_field between", value1, value2, "requireField");
            return (Criteria) this;
        }

        public Criteria andRequireFieldNotBetween(String value1, String value2) {
            addCriterion("require_field not between", value1, value2, "requireField");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNull() {
            addCriterion("start_time is null");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNotNull() {
            addCriterion("start_time is not null");
            return (Criteria) this;
        }

        public Criteria andStartTimeEqualTo(Date value) {
            addCriterion("start_time =", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotEqualTo(Date value) {
            addCriterion("start_time <>", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThan(Date value) {
            addCriterion("start_time >", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("start_time >=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThan(Date value) {
            addCriterion("start_time <", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("start_time <=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeIn(List<Date> values) {
            addCriterion("start_time in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotIn(List<Date> values) {
            addCriterion("start_time not in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeBetween(Date value1, Date value2) {
            addCriterion("start_time between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("start_time not between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNull() {
            addCriterion("end_time is null");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNotNull() {
            addCriterion("end_time is not null");
            return (Criteria) this;
        }

        public Criteria andEndTimeEqualTo(Date value) {
            addCriterion("end_time =", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotEqualTo(Date value) {
            addCriterion("end_time <>", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThan(Date value) {
            addCriterion("end_time >", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("end_time >=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThan(Date value) {
            addCriterion("end_time <", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("end_time <=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIn(List<Date> values) {
            addCriterion("end_time in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotIn(List<Date> values) {
            addCriterion("end_time not in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeBetween(Date value1, Date value2) {
            addCriterion("end_time between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("end_time not between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andPosterPicIdIsNull() {
            addCriterion("poster_pic_id is null");
            return (Criteria) this;
        }

        public Criteria andPosterPicIdIsNotNull() {
            addCriterion("poster_pic_id is not null");
            return (Criteria) this;
        }

        public Criteria andPosterPicIdEqualTo(Integer value) {
            addCriterion("poster_pic_id =", value, "posterPicId");
            return (Criteria) this;
        }

        public Criteria andPosterPicIdNotEqualTo(Integer value) {
            addCriterion("poster_pic_id <>", value, "posterPicId");
            return (Criteria) this;
        }

        public Criteria andPosterPicIdGreaterThan(Integer value) {
            addCriterion("poster_pic_id >", value, "posterPicId");
            return (Criteria) this;
        }

        public Criteria andPosterPicIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("poster_pic_id >=", value, "posterPicId");
            return (Criteria) this;
        }

        public Criteria andPosterPicIdLessThan(Integer value) {
            addCriterion("poster_pic_id <", value, "posterPicId");
            return (Criteria) this;
        }

        public Criteria andPosterPicIdLessThanOrEqualTo(Integer value) {
            addCriterion("poster_pic_id <=", value, "posterPicId");
            return (Criteria) this;
        }

        public Criteria andPosterPicIdIn(List<Integer> values) {
            addCriterion("poster_pic_id in", values, "posterPicId");
            return (Criteria) this;
        }

        public Criteria andPosterPicIdNotIn(List<Integer> values) {
            addCriterion("poster_pic_id not in", values, "posterPicId");
            return (Criteria) this;
        }

        public Criteria andPosterPicIdBetween(Integer value1, Integer value2) {
            addCriterion("poster_pic_id between", value1, value2, "posterPicId");
            return (Criteria) this;
        }

        public Criteria andPosterPicIdNotBetween(Integer value1, Integer value2) {
            addCriterion("poster_pic_id not between", value1, value2, "posterPicId");
            return (Criteria) this;
        }

        public Criteria andLimitNumIsNull() {
            addCriterion("limit_num is null");
            return (Criteria) this;
        }

        public Criteria andLimitNumIsNotNull() {
            addCriterion("limit_num is not null");
            return (Criteria) this;
        }

        public Criteria andLimitNumEqualTo(Integer value) {
            addCriterion("limit_num =", value, "limitNum");
            return (Criteria) this;
        }

        public Criteria andLimitNumNotEqualTo(Integer value) {
            addCriterion("limit_num <>", value, "limitNum");
            return (Criteria) this;
        }

        public Criteria andLimitNumGreaterThan(Integer value) {
            addCriterion("limit_num >", value, "limitNum");
            return (Criteria) this;
        }

        public Criteria andLimitNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("limit_num >=", value, "limitNum");
            return (Criteria) this;
        }

        public Criteria andLimitNumLessThan(Integer value) {
            addCriterion("limit_num <", value, "limitNum");
            return (Criteria) this;
        }

        public Criteria andLimitNumLessThanOrEqualTo(Integer value) {
            addCriterion("limit_num <=", value, "limitNum");
            return (Criteria) this;
        }

        public Criteria andLimitNumIn(List<Integer> values) {
            addCriterion("limit_num in", values, "limitNum");
            return (Criteria) this;
        }

        public Criteria andLimitNumNotIn(List<Integer> values) {
            addCriterion("limit_num not in", values, "limitNum");
            return (Criteria) this;
        }

        public Criteria andLimitNumBetween(Integer value1, Integer value2) {
            addCriterion("limit_num between", value1, value2, "limitNum");
            return (Criteria) this;
        }

        public Criteria andLimitNumNotBetween(Integer value1, Integer value2) {
            addCriterion("limit_num not between", value1, value2, "limitNum");
            return (Criteria) this;
        }

        public Criteria andFemaleLimitNumIsNull() {
            addCriterion("female_limit_num is null");
            return (Criteria) this;
        }

        public Criteria andFemaleLimitNumIsNotNull() {
            addCriterion("female_limit_num is not null");
            return (Criteria) this;
        }

        public Criteria andFemaleLimitNumEqualTo(Integer value) {
            addCriterion("female_limit_num =", value, "femaleLimitNum");
            return (Criteria) this;
        }

        public Criteria andFemaleLimitNumNotEqualTo(Integer value) {
            addCriterion("female_limit_num <>", value, "femaleLimitNum");
            return (Criteria) this;
        }

        public Criteria andFemaleLimitNumGreaterThan(Integer value) {
            addCriterion("female_limit_num >", value, "femaleLimitNum");
            return (Criteria) this;
        }

        public Criteria andFemaleLimitNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("female_limit_num >=", value, "femaleLimitNum");
            return (Criteria) this;
        }

        public Criteria andFemaleLimitNumLessThan(Integer value) {
            addCriterion("female_limit_num <", value, "femaleLimitNum");
            return (Criteria) this;
        }

        public Criteria andFemaleLimitNumLessThanOrEqualTo(Integer value) {
            addCriterion("female_limit_num <=", value, "femaleLimitNum");
            return (Criteria) this;
        }

        public Criteria andFemaleLimitNumIn(List<Integer> values) {
            addCriterion("female_limit_num in", values, "femaleLimitNum");
            return (Criteria) this;
        }

        public Criteria andFemaleLimitNumNotIn(List<Integer> values) {
            addCriterion("female_limit_num not in", values, "femaleLimitNum");
            return (Criteria) this;
        }

        public Criteria andFemaleLimitNumBetween(Integer value1, Integer value2) {
            addCriterion("female_limit_num between", value1, value2, "femaleLimitNum");
            return (Criteria) this;
        }

        public Criteria andFemaleLimitNumNotBetween(Integer value1, Integer value2) {
            addCriterion("female_limit_num not between", value1, value2, "femaleLimitNum");
            return (Criteria) this;
        }

        public Criteria andMaleLimitNumIsNull() {
            addCriterion("male_limit_num is null");
            return (Criteria) this;
        }

        public Criteria andMaleLimitNumIsNotNull() {
            addCriterion("male_limit_num is not null");
            return (Criteria) this;
        }

        public Criteria andMaleLimitNumEqualTo(Integer value) {
            addCriterion("male_limit_num =", value, "maleLimitNum");
            return (Criteria) this;
        }

        public Criteria andMaleLimitNumNotEqualTo(Integer value) {
            addCriterion("male_limit_num <>", value, "maleLimitNum");
            return (Criteria) this;
        }

        public Criteria andMaleLimitNumGreaterThan(Integer value) {
            addCriterion("male_limit_num >", value, "maleLimitNum");
            return (Criteria) this;
        }

        public Criteria andMaleLimitNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("male_limit_num >=", value, "maleLimitNum");
            return (Criteria) this;
        }

        public Criteria andMaleLimitNumLessThan(Integer value) {
            addCriterion("male_limit_num <", value, "maleLimitNum");
            return (Criteria) this;
        }

        public Criteria andMaleLimitNumLessThanOrEqualTo(Integer value) {
            addCriterion("male_limit_num <=", value, "maleLimitNum");
            return (Criteria) this;
        }

        public Criteria andMaleLimitNumIn(List<Integer> values) {
            addCriterion("male_limit_num in", values, "maleLimitNum");
            return (Criteria) this;
        }

        public Criteria andMaleLimitNumNotIn(List<Integer> values) {
            addCriterion("male_limit_num not in", values, "maleLimitNum");
            return (Criteria) this;
        }

        public Criteria andMaleLimitNumBetween(Integer value1, Integer value2) {
            addCriterion("male_limit_num between", value1, value2, "maleLimitNum");
            return (Criteria) this;
        }

        public Criteria andMaleLimitNumNotBetween(Integer value1, Integer value2) {
            addCriterion("male_limit_num not between", value1, value2, "maleLimitNum");
            return (Criteria) this;
        }

        public Criteria andSignStartTimeIsNull() {
            addCriterion("sign_start_time is null");
            return (Criteria) this;
        }

        public Criteria andSignStartTimeIsNotNull() {
            addCriterion("sign_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andSignStartTimeEqualTo(Date value) {
            addCriterion("sign_start_time =", value, "signStartTime");
            return (Criteria) this;
        }

        public Criteria andSignStartTimeNotEqualTo(Date value) {
            addCriterion("sign_start_time <>", value, "signStartTime");
            return (Criteria) this;
        }

        public Criteria andSignStartTimeGreaterThan(Date value) {
            addCriterion("sign_start_time >", value, "signStartTime");
            return (Criteria) this;
        }

        public Criteria andSignStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("sign_start_time >=", value, "signStartTime");
            return (Criteria) this;
        }

        public Criteria andSignStartTimeLessThan(Date value) {
            addCriterion("sign_start_time <", value, "signStartTime");
            return (Criteria) this;
        }

        public Criteria andSignStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("sign_start_time <=", value, "signStartTime");
            return (Criteria) this;
        }

        public Criteria andSignStartTimeIn(List<Date> values) {
            addCriterion("sign_start_time in", values, "signStartTime");
            return (Criteria) this;
        }

        public Criteria andSignStartTimeNotIn(List<Date> values) {
            addCriterion("sign_start_time not in", values, "signStartTime");
            return (Criteria) this;
        }

        public Criteria andSignStartTimeBetween(Date value1, Date value2) {
            addCriterion("sign_start_time between", value1, value2, "signStartTime");
            return (Criteria) this;
        }

        public Criteria andSignStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("sign_start_time not between", value1, value2, "signStartTime");
            return (Criteria) this;
        }

        public Criteria andSignEndTimeIsNull() {
            addCriterion("sign_end_time is null");
            return (Criteria) this;
        }

        public Criteria andSignEndTimeIsNotNull() {
            addCriterion("sign_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andSignEndTimeEqualTo(Date value) {
            addCriterion("sign_end_time =", value, "signEndTime");
            return (Criteria) this;
        }

        public Criteria andSignEndTimeNotEqualTo(Date value) {
            addCriterion("sign_end_time <>", value, "signEndTime");
            return (Criteria) this;
        }

        public Criteria andSignEndTimeGreaterThan(Date value) {
            addCriterion("sign_end_time >", value, "signEndTime");
            return (Criteria) this;
        }

        public Criteria andSignEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("sign_end_time >=", value, "signEndTime");
            return (Criteria) this;
        }

        public Criteria andSignEndTimeLessThan(Date value) {
            addCriterion("sign_end_time <", value, "signEndTime");
            return (Criteria) this;
        }

        public Criteria andSignEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("sign_end_time <=", value, "signEndTime");
            return (Criteria) this;
        }

        public Criteria andSignEndTimeIn(List<Date> values) {
            addCriterion("sign_end_time in", values, "signEndTime");
            return (Criteria) this;
        }

        public Criteria andSignEndTimeNotIn(List<Date> values) {
            addCriterion("sign_end_time not in", values, "signEndTime");
            return (Criteria) this;
        }

        public Criteria andSignEndTimeBetween(Date value1, Date value2) {
            addCriterion("sign_end_time between", value1, value2, "signEndTime");
            return (Criteria) this;
        }

        public Criteria andSignEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("sign_end_time not between", value1, value2, "signEndTime");
            return (Criteria) this;
        }

        public Criteria andCategoryIdIsNull() {
            addCriterion("category_id is null");
            return (Criteria) this;
        }

        public Criteria andCategoryIdIsNotNull() {
            addCriterion("category_id is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryIdEqualTo(Integer value) {
            addCriterion("category_id =", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotEqualTo(Integer value) {
            addCriterion("category_id <>", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdGreaterThan(Integer value) {
            addCriterion("category_id >", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("category_id >=", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdLessThan(Integer value) {
            addCriterion("category_id <", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdLessThanOrEqualTo(Integer value) {
            addCriterion("category_id <=", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdIn(List<Integer> values) {
            addCriterion("category_id in", values, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotIn(List<Integer> values) {
            addCriterion("category_id not in", values, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdBetween(Integer value1, Integer value2) {
            addCriterion("category_id between", value1, value2, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotBetween(Integer value1, Integer value2) {
            addCriterion("category_id not between", value1, value2, "categoryId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdIsNull() {
            addCriterion("place_id is null");
            return (Criteria) this;
        }

        public Criteria andPlaceIdIsNotNull() {
            addCriterion("place_id is not null");
            return (Criteria) this;
        }

        public Criteria andPlaceIdEqualTo(Integer value) {
            addCriterion("place_id =", value, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdNotEqualTo(Integer value) {
            addCriterion("place_id <>", value, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdGreaterThan(Integer value) {
            addCriterion("place_id >", value, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("place_id >=", value, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdLessThan(Integer value) {
            addCriterion("place_id <", value, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdLessThanOrEqualTo(Integer value) {
            addCriterion("place_id <=", value, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdIn(List<Integer> values) {
            addCriterion("place_id in", values, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdNotIn(List<Integer> values) {
            addCriterion("place_id not in", values, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdBetween(Integer value1, Integer value2) {
            addCriterion("place_id between", value1, value2, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceIdNotBetween(Integer value1, Integer value2) {
            addCriterion("place_id not between", value1, value2, "placeId");
            return (Criteria) this;
        }

        public Criteria andPlaceAddressIsNull() {
            addCriterion("place_address is null");
            return (Criteria) this;
        }

        public Criteria andPlaceAddressIsNotNull() {
            addCriterion("place_address is not null");
            return (Criteria) this;
        }

        public Criteria andPlaceAddressEqualTo(String value) {
            addCriterion("place_address =", value, "placeAddress");
            return (Criteria) this;
        }

        public Criteria andPlaceAddressNotEqualTo(String value) {
            addCriterion("place_address <>", value, "placeAddress");
            return (Criteria) this;
        }

        public Criteria andPlaceAddressGreaterThan(String value) {
            addCriterion("place_address >", value, "placeAddress");
            return (Criteria) this;
        }

        public Criteria andPlaceAddressGreaterThanOrEqualTo(String value) {
            addCriterion("place_address >=", value, "placeAddress");
            return (Criteria) this;
        }

        public Criteria andPlaceAddressLessThan(String value) {
            addCriterion("place_address <", value, "placeAddress");
            return (Criteria) this;
        }

        public Criteria andPlaceAddressLessThanOrEqualTo(String value) {
            addCriterion("place_address <=", value, "placeAddress");
            return (Criteria) this;
        }

        public Criteria andPlaceAddressLike(String value) {
            addCriterion("place_address like", value, "placeAddress");
            return (Criteria) this;
        }

        public Criteria andPlaceAddressNotLike(String value) {
            addCriterion("place_address not like", value, "placeAddress");
            return (Criteria) this;
        }

        public Criteria andPlaceAddressIn(List<String> values) {
            addCriterion("place_address in", values, "placeAddress");
            return (Criteria) this;
        }

        public Criteria andPlaceAddressNotIn(List<String> values) {
            addCriterion("place_address not in", values, "placeAddress");
            return (Criteria) this;
        }

        public Criteria andPlaceAddressBetween(String value1, String value2) {
            addCriterion("place_address between", value1, value2, "placeAddress");
            return (Criteria) this;
        }

        public Criteria andPlaceAddressNotBetween(String value1, String value2) {
            addCriterion("place_address not between", value1, value2, "placeAddress");
            return (Criteria) this;
        }

        public Criteria andGameTypeIsNull() {
            addCriterion("game_type is null");
            return (Criteria) this;
        }

        public Criteria andGameTypeIsNotNull() {
            addCriterion("game_type is not null");
            return (Criteria) this;
        }

        public Criteria andGameTypeEqualTo(Byte value) {
            addCriterion("game_type =", value, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeNotEqualTo(Byte value) {
            addCriterion("game_type <>", value, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeGreaterThan(Byte value) {
            addCriterion("game_type >", value, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("game_type >=", value, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeLessThan(Byte value) {
            addCriterion("game_type <", value, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeLessThanOrEqualTo(Byte value) {
            addCriterion("game_type <=", value, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeIn(List<Byte> values) {
            addCriterion("game_type in", values, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeNotIn(List<Byte> values) {
            addCriterion("game_type not in", values, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeBetween(Byte value1, Byte value2) {
            addCriterion("game_type between", value1, value2, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeNotBetween(Byte value1, Byte value2) {
            addCriterion("game_type not between", value1, value2, "gameType");
            return (Criteria) this;
        }

        public Criteria andIsOfficialIsNull() {
            addCriterion("is_official is null");
            return (Criteria) this;
        }

        public Criteria andIsOfficialIsNotNull() {
            addCriterion("is_official is not null");
            return (Criteria) this;
        }

        public Criteria andIsOfficialEqualTo(Byte value) {
            addCriterion("is_official =", value, "isOfficial");
            return (Criteria) this;
        }

        public Criteria andIsOfficialNotEqualTo(Byte value) {
            addCriterion("is_official <>", value, "isOfficial");
            return (Criteria) this;
        }

        public Criteria andIsOfficialGreaterThan(Byte value) {
            addCriterion("is_official >", value, "isOfficial");
            return (Criteria) this;
        }

        public Criteria andIsOfficialGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_official >=", value, "isOfficial");
            return (Criteria) this;
        }

        public Criteria andIsOfficialLessThan(Byte value) {
            addCriterion("is_official <", value, "isOfficial");
            return (Criteria) this;
        }

        public Criteria andIsOfficialLessThanOrEqualTo(Byte value) {
            addCriterion("is_official <=", value, "isOfficial");
            return (Criteria) this;
        }

        public Criteria andIsOfficialIn(List<Byte> values) {
            addCriterion("is_official in", values, "isOfficial");
            return (Criteria) this;
        }

        public Criteria andIsOfficialNotIn(List<Byte> values) {
            addCriterion("is_official not in", values, "isOfficial");
            return (Criteria) this;
        }

        public Criteria andIsOfficialBetween(Byte value1, Byte value2) {
            addCriterion("is_official between", value1, value2, "isOfficial");
            return (Criteria) this;
        }

        public Criteria andIsOfficialNotBetween(Byte value1, Byte value2) {
            addCriterion("is_official not between", value1, value2, "isOfficial");
            return (Criteria) this;
        }

        public Criteria andPlaceUnitIdIsNull() {
            addCriterion("place_unit_id is null");
            return (Criteria) this;
        }

        public Criteria andPlaceUnitIdIsNotNull() {
            addCriterion("place_unit_id is not null");
            return (Criteria) this;
        }

        public Criteria andPlaceUnitIdEqualTo(Integer value) {
            addCriterion("place_unit_id =", value, "placeUnitId");
            return (Criteria) this;
        }

        public Criteria andPlaceUnitIdNotEqualTo(Integer value) {
            addCriterion("place_unit_id <>", value, "placeUnitId");
            return (Criteria) this;
        }

        public Criteria andPlaceUnitIdGreaterThan(Integer value) {
            addCriterion("place_unit_id >", value, "placeUnitId");
            return (Criteria) this;
        }

        public Criteria andPlaceUnitIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("place_unit_id >=", value, "placeUnitId");
            return (Criteria) this;
        }

        public Criteria andPlaceUnitIdLessThan(Integer value) {
            addCriterion("place_unit_id <", value, "placeUnitId");
            return (Criteria) this;
        }

        public Criteria andPlaceUnitIdLessThanOrEqualTo(Integer value) {
            addCriterion("place_unit_id <=", value, "placeUnitId");
            return (Criteria) this;
        }

        public Criteria andPlaceUnitIdIn(List<Integer> values) {
            addCriterion("place_unit_id in", values, "placeUnitId");
            return (Criteria) this;
        }

        public Criteria andPlaceUnitIdNotIn(List<Integer> values) {
            addCriterion("place_unit_id not in", values, "placeUnitId");
            return (Criteria) this;
        }

        public Criteria andPlaceUnitIdBetween(Integer value1, Integer value2) {
            addCriterion("place_unit_id between", value1, value2, "placeUnitId");
            return (Criteria) this;
        }

        public Criteria andPlaceUnitIdNotBetween(Integer value1, Integer value2) {
            addCriterion("place_unit_id not between", value1, value2, "placeUnitId");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Byte value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Byte value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Byte value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Byte value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Byte value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Byte> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Byte> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Byte value1, Byte value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andAlreadyLockSignTotalNumIsNull() {
            addCriterion("already_lock_sign_total_num is null");
            return (Criteria) this;
        }

        public Criteria andAlreadyLockSignTotalNumIsNotNull() {
            addCriterion("already_lock_sign_total_num is not null");
            return (Criteria) this;
        }

        public Criteria andAlreadyLockSignTotalNumEqualTo(Integer value) {
            addCriterion("already_lock_sign_total_num =", value, "alreadyLockSignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadyLockSignTotalNumNotEqualTo(Integer value) {
            addCriterion("already_lock_sign_total_num <>", value, "alreadyLockSignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadyLockSignTotalNumGreaterThan(Integer value) {
            addCriterion("already_lock_sign_total_num >", value, "alreadyLockSignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadyLockSignTotalNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("already_lock_sign_total_num >=", value, "alreadyLockSignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadyLockSignTotalNumLessThan(Integer value) {
            addCriterion("already_lock_sign_total_num <", value, "alreadyLockSignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadyLockSignTotalNumLessThanOrEqualTo(Integer value) {
            addCriterion("already_lock_sign_total_num <=", value, "alreadyLockSignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadyLockSignTotalNumIn(List<Integer> values) {
            addCriterion("already_lock_sign_total_num in", values, "alreadyLockSignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadyLockSignTotalNumNotIn(List<Integer> values) {
            addCriterion("already_lock_sign_total_num not in", values, "alreadyLockSignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadyLockSignTotalNumBetween(Integer value1, Integer value2) {
            addCriterion("already_lock_sign_total_num between", value1, value2, "alreadyLockSignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadyLockSignTotalNumNotBetween(Integer value1, Integer value2) {
            addCriterion("already_lock_sign_total_num not between", value1, value2, "alreadyLockSignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadySignTotalNumIsNull() {
            addCriterion("already_sign_total_num is null");
            return (Criteria) this;
        }

        public Criteria andAlreadySignTotalNumIsNotNull() {
            addCriterion("already_sign_total_num is not null");
            return (Criteria) this;
        }

        public Criteria andAlreadySignTotalNumEqualTo(Integer value) {
            addCriterion("already_sign_total_num =", value, "alreadySignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadySignTotalNumNotEqualTo(Integer value) {
            addCriterion("already_sign_total_num <>", value, "alreadySignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadySignTotalNumGreaterThan(Integer value) {
            addCriterion("already_sign_total_num >", value, "alreadySignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadySignTotalNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("already_sign_total_num >=", value, "alreadySignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadySignTotalNumLessThan(Integer value) {
            addCriterion("already_sign_total_num <", value, "alreadySignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadySignTotalNumLessThanOrEqualTo(Integer value) {
            addCriterion("already_sign_total_num <=", value, "alreadySignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadySignTotalNumIn(List<Integer> values) {
            addCriterion("already_sign_total_num in", values, "alreadySignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadySignTotalNumNotIn(List<Integer> values) {
            addCriterion("already_sign_total_num not in", values, "alreadySignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadySignTotalNumBetween(Integer value1, Integer value2) {
            addCriterion("already_sign_total_num between", value1, value2, "alreadySignTotalNum");
            return (Criteria) this;
        }

        public Criteria andAlreadySignTotalNumNotBetween(Integer value1, Integer value2) {
            addCriterion("already_sign_total_num not between", value1, value2, "alreadySignTotalNum");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNull() {
            addCriterion("is_delete is null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNotNull() {
            addCriterion("is_delete is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteEqualTo(Byte value) {
            addCriterion("is_delete =", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotEqualTo(Byte value) {
            addCriterion("is_delete <>", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThan(Byte value) {
            addCriterion("is_delete >", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_delete >=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThan(Byte value) {
            addCriterion("is_delete <", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThanOrEqualTo(Byte value) {
            addCriterion("is_delete <=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIn(List<Byte> values) {
            addCriterion("is_delete in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotIn(List<Byte> values) {
            addCriterion("is_delete not in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteBetween(Byte value1, Byte value2) {
            addCriterion("is_delete between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotBetween(Byte value1, Byte value2) {
            addCriterion("is_delete not between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}